home *** CD-ROM | disk | FTP | other *** search
- /* File "bsdsocks.c", Light Sockets - Copyright (C) Matt Slot, 1996 */
- /* BSD/UNIX sockets implementation for "Light Sockets" abstraction library. */
-
- #ifndef __BSD_SOCKETS_HEADER__
- #define __BSD_SOCKETS_HEADER__
-
- #ifndef __STD_TYPES_HEADER__
- #include "stdtypes.h"
- #endif /* __STD_TYPES_HEADER__ */
-
- #ifndef __NET_STACK_HEADER__
- #include "netstack.h"
- #endif /* __NET_STACK_HEADER__ */
-
- /* **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** */
- /* **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** */
- /* Preprocessor Defines */
-
- #define PING_BUFFER_SIZE 1024
-
- /* **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** */
- /* **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** */
- /* Enum/Structure/Class Definitions */
-
- typedef class BSDSocketStack : public NetworkStack {
-
- public:
-
- /* Constructor/Destructor */
- BSDSocketStack (SocketRef socket);
- virtual ~BSDSocketStack (void);
-
-
- /* Network stack dispatch */
- virtual SocketResult DoLoad (void);
- virtual SocketResult DoUnload (void);
-
-
- /* Socket-based dispatch */
- virtual SocketResult DoCreate (void);
- virtual SocketResult DoTickle (void);
- virtual SocketResult DoDispose (void);
-
- virtual SocketResult DoBind (SocketAddressPtr reqAddress,
- SocketAddressPtr retAddress);
- virtual SocketResult DoUnbind (void);
-
-
- /* Name service dispatch */
- virtual SocketResult DoAddressResolve(Char8 *textAddress,
- SocketAddressPtr socketAddress);
- virtual SocketResult DoAddressLookup (SocketAddressPtr socketAddress,
- Char8 *textAddress);
-
- /* Datagram-based dispatch */
- virtual SocketResult DoDatagramWrite (Byte8 *dataPtr, UInt32 dataLen,
- SocketAddressPtr address);
-
- /* Stream-based dispatch */
- virtual SocketResult DoStreamServer (UInt32 sessions);
- virtual SocketResult DoStreamClient (SocketAddressPtr address);
- virtual SocketResult DoStreamWrite (Byte8 *dataPtr, UInt32 dataLen);
- virtual SocketResult DoStreamClose (Bool8 orderly);
-
-
- private:
- Int theSocket;
-
- } BSDSocketStack, *BSDSocketStackRef;
-
- /* **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** */
- /* **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** */
- /* Function Prototypes */
-
-
- /* **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** */
- /* **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** */
-
-
- #endif /* __BSD_SOCKETS_HEADER__ */
-
-